package SEG_DataLayer;

import CommonDataLayer.ConexionDB;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;

public class SEG_UsuarioEmpresaDL {
    
    private final static SEG_UsuarioEmpresaDL _instancia = new SEG_UsuarioEmpresaDL();
    
    private SEG_UsuarioEmpresaDL() {
        
    }
    
    public static SEG_UsuarioEmpresaDL getInstancia() {
        return _instancia;
    }
    
    //-----------------------------------------------------------------------------
    // <editor-fold defaultstate="collapsed" desc="Select">
    
        /**
        * Verifica que el usuario tenga acceso a la empresa.
        * @return  <code>true</code> si el usuario tiene acceso a la empresa y <code>false</code> en otro caso.
        * @author Juan Manuel Abanto Mera
        */
        public boolean IsUsuarioxEmpresa(byte empresa, short usuario) throws Exception {
            Connection conexion = null;
            try {
                conexion = ConexionDB.getInstancia().getConexion();
                CallableStatement sp = conexion.prepareCall("{call uspSEG_VerificarUsuarioxEmpresa(?,?) }");
                sp.setByte("prmintEmpresa", empresa);
                sp.setShort("prmintUsuario", usuario);
                ResultSet rs = sp.executeQuery();
                
                if ( rs.next() ) {
                    conexion.close();
                    return true;
                }
                conexion.close();
                return false;
            }
            catch(Exception ex) {
                throw new Exception(ex);
            }
            finally {
                if (conexion != null && !conexion.isClosed()) {
                    conexion.close();
                }
            }
        }
    
    // </editor-fold>
    
    //-------------------------------------------------------------------------------
    // <editor-fold defaultstate="collapsed" desc="Insert">
    // </editor-fold>
    
    //-------------------------------------------------------------------------------
    // <editor-fold defaultstate="collapsed" desc="Update">
    // </editor-fold>
    
    //------------------------------------------------------------------------------    
    // <editor-fold defaultstate="collapsed" desc="Delete">
    // </editor-fold>
}
